package com.hongyun.tms.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 员工信息表
 * </p>
 *
 * @author liPeng
 * @since 2024-06-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("TMS_M_STAFF")
@ApiModel(value="TmsMStaff对象", description="员工信息表")
public class MStaff implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId("ID")
    private Long id;

    @ApiModelProperty(value = "所参与的拖轮")
    @TableField("TUG_ID")
    private Long tugId;

    @ApiModelProperty(value = "员工编号")
    @TableField("STAFF_NO")
    private String staffNo;

    @ApiModelProperty(value = "员工姓名")
    @TableField("STAFF_NAME")
    private String staffName;

    @ApiModelProperty(value = "性别，字典（0女1男）")
    @TableField("SEX")
    private String sex;

    @ApiModelProperty(value = "生日")
    @TableField("BIRTH_DAY")
    private LocalDate birthDay;

    @ApiModelProperty(value = "所属部门ID")
    @TableField("DEPT_ID")
    private Long deptId;

    @ApiModelProperty(value = "所属部门")
    @TableField("DEPT_NAME")
    private String deptName;

    @ApiModelProperty(value = "入职日期")
    @TableField("ENTRY_DATE")
    private LocalDate entryDate;

    @ApiModelProperty(value = "岗位代码，字典")
    @TableField("POST_CODE")
    private String postCode;

    @ApiModelProperty(value = "岗位名称")
    @TableField("POST_NAME")
    private String postName;

    @ApiModelProperty(value = "创建人ID")
    @TableField("CREATE_BY")
    private Long createBy;

    @ApiModelProperty(value = "创建人姓名")
    @TableField("CREATE_BY_NAME")
    private String createByName;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改人ID")
    @TableField("UPDATE_BY")
    private Long updateBy;

    @ApiModelProperty(value = "修改人姓名")
    @TableField("UPDATE_BY_NAME")
    private String updateByName;

    @ApiModelProperty(value = "修改时间")
    @TableField("UPDATE_TIME")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "0在职1离职")
    @TableField("STATUS")
    private Integer status;

    @ApiModelProperty(value = "用户ID")
    @TableField("USER_ID")
    private Long userId;

    @ApiModelProperty(value = "劳务公司代码，字典")
    @TableField("COMPANY_CODE")
    private String companyCode;

    @ApiModelProperty(value = "劳务公司名称")
    @TableField("COMPANY_NAME")
    private String companyName;

    @ApiModelProperty(value = "是否船员，0否1是")
    @TableField("IS_CREW")
    private String isCrew;

    @ApiModelProperty(value = "是否驾驶员，0否1是")
    @TableField("IS_DRIVER")
    private String isDriver;

    @ApiModelProperty(value = "是否引水员，0否1是")
    @TableField("IS_PILOT")
    private String isPilot;

    @ApiModelProperty(value = "离职月数")
    @TableField("DEPART_MONTH")
    private Integer departMonth;

    @ApiModelProperty(value = "船员系数")
    @TableField("CREW_RATE")
    private BigDecimal crewRate;
}
